package org.agile4j.patterns.command.template;

public class Client {
	
	/**
	 * 示意, 负责创建命令对象,并设定它的接收者
	 */
	public void assemble(){
		// 创建接收者
		Receiver receiver = new Receiver() ;
		// 创建命令对象, 设定他的接受者
		Command command = new ConcreteCommand(receiver) ;
		// 创建Invoker对象
		Invoker invoker = new Invoker() ;
		// 把命令对象设置到Invoker中, 让Invoker持有命令对象
		invoker.setCommand(command);
		invoker.runCommand();
	}
	public static void main(String[] args) {
		Client client = new Client() ;
		client.assemble();
	}
}
